﻿#ifndef DACONSTVALUENODE_H
#define DACONSTVALUENODE_H
#include "DAUtilNodePluginGlobal.h"
#include "DAAbstractNode.h"
#include <QtCore/qglobal.h>
DA_IMPL_FORWARD_DECL(DAVariantValueNode)

/**
 * @brief 变量节点，可以产生一个常数
 */
class DAUTILNODEPLUGIN_API DAVariantValueNode : public DAAbstractNode
{
    DA_IMPL(DAVariantValueNode)
public:
    DAVariantValueNode();
    ~DAVariantValueNode();
    //获取所有输入的参数名
    virtual QList<QString> getInputKeys() const;

    //获取所有输出的参数名
    virtual QList<QString> getOutputKeys() const;

    //节点对应的item显示接口，所有node都需要提供一个供前端的显示接口
    virtual DAAbstractNodeGraphicsItem *createGraphicsItem();

    //输出参数
    virtual DADataPackage output(const QString& ouputkey);

public:
    //字符串转换为variant
    static QVariant stringToVariant(const QString& var, const QString& typeName);
};

#endif // FCCONSTVALUENODE_H
